﻿// ===================================
// Author : Micro.SanVey
// Eamil  : sanvey.china@gmail.com
// ===================================

namespace U.Help.Common
{
    #region 引用
    using System;
    #endregion

    /// <summary>
    /// 时间帮组类
    /// </summary>
    public static class DateTimeEx
    {
        /// <summary>
        /// 时间转换，将.NET平台时间转换为Unix平台时间
        /// .Net从1970年开始计数；Unix从0000年开始计数
        /// </summary>
        /// <param name="seconds">Unix时间</param>
        /// <returns></returns>
        public static DateTime FromUnixTime(this long seconds)
        {
            var time = new DateTime(1970, 1, 1);
            time = time.AddSeconds(seconds);

            return time.ToLocalTime();
        }

        /// <summary>
        /// 时间转换，将Unix平台时间转换为.NET平台时间
        /// .Net从1970-1-1年开始计数；Unix从0000-0-0年开始计数
        /// </summary>
        /// <param name="seconds">常规时间</param>
        /// <returns>Unix时间</returns>
        public static long ToUnixTime(this DateTime dateTime)
        {
            var timeSpan = (dateTime - new DateTime(1970, 1, 1));
            var timestamp = (long)timeSpan.TotalSeconds;

            return timestamp;
        }
    }
}
